package com.wzl.thread.methods;

import lombok.extern.slf4j.Slf4j;

/**
 * 继承Thread类创建线程
 *
 * @author weizhongli
 * @since 2022-09-15 21:04
 */
@Slf4j
public class TcThreadExtend extends Thread {

    /**
     * 获取线程ID和线程名称:
     * 1.在Thread的子类中调用this.getId()或this.getName()。
     * 2.使用Thread.currentThread().getId()和Thread.currentTread().getName()
     *
     * 使用第一种方法的线程类必须继承Thread父类，否则不能使用这两个方法。
     * 第二种方法调用的静态方法currentThread表示获取当前线程，哪个线程执行的当前代码就获取谁。
     */

    public TcThreadExtend() {
    }
    public TcThreadExtend(String name) {
        super(name);
    }

    @Override
    public void run() {
        log.info("分支线程开始执行啦TcMyThread1.run()");
        for (int i = 0; i < 5; i++) {
            //第一种方法
            //log.info("线程ID：" + this.getId() + " " + "线程名：" + this.getName() + " " + i);
            //第二种方法
            log.info("分支线程ID：" + Thread.currentThread().getId() + " " + "线程名：" + Thread.currentThread().getName() + " " + i);
        }
    }

}